﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Model.DomainModel
{
    /// <summary>
    /// 流程消息
    /// </summary>
    public class FlowMessage
    {
        /// <summary>
        /// 消息id
        /// </summary>
        public string MessageId { get; set; } = string.Empty;

        /// <summary>
        /// 消息类型
        /// </summary>
        public int MessageType { get; set; }

        /// <summary>
        /// 消息标题
        /// </summary>
        public string MessageTitle { get; set; } = string.Empty;

        /// <summary>
        /// 消息内容
        /// </summary>
        public string MessageContent { get; set; } = string.Empty;

        /// <summary>
        /// 消息接受者key
        /// </summary>
        public string MessageRecipient { get; set; } = string.Empty;

        /// <summary>
        /// 消息发送者key
        /// </summary>
        public string MessageSender { get; set; } = string.Empty;

        /// <summary>
        /// 消息状态
        /// </summary>
        public int MessageState { get; set; }

        /// <summary>
        /// 流程申请key
        /// </summary>
        public string FlowApplyId { get; set; } = string.Empty;

        /// <summary>
        /// 流程节点
        /// </summary>
        public string NodeId { get; set; } = string.Empty;

        /// <summary>
        /// 流程节点名称
        /// </summary>
        public string NodeName { get; set; } = string.Empty;

        /// <summary>
        /// 是否浏览
        /// </summary>
        public bool IsBrowse { get; set; }

        /// <summary>
        /// 浏览时间
        /// </summary>
        public DateTime? BrowseTime { get; set; }

        /// <summary>
        /// 是否处理
        /// </summary>
        public bool IsHandled { get; set; }

        /// <summary>
        /// 处理时间
        /// </summary>
        public DateTime? HandledTime { get; set; }

        /// <summary>
        /// 处理类型
        /// </summary>
        public int? HandledType { get; set; }

        /// <summary>
        /// 处理状态，同流程节点状态枚举FlowNodeStateEnum
        /// </summary>
        public int HandledState { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人员
        /// </summary>
        public string CreateUserKey { get; set; } = string.Empty;
    }
}
